<template>
  <div class="button-container">
    <button :class="[type, { border }]" :style="{ height, width }" class="btn">
      <slot></slot>
    </button>
  </div>
</template>

<script setup lang="ts">
defineProps({
  height: {
    type: String,
    default: '36px'
  },
  width: {
    type: String,
    default: ''
  },
  type: {
    type: String,
    default: 'primary'
  },
  border: {
    type: Boolean,
    default: false
  }
})
</script>

<style scoped lang="scss">
.button-container {
  .btn {
    transition: all 0.3s;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 24px;
    padding: 0 20px;
    cursor: pointer;
    min-width: 80px;
  }

  .primary {
    background: $gray-0;
    color: $gray-10;
  }

  .secondary {
    background-color: transparent;
    color: $gray-0;
  }

  .cprimary {
    background: $primary-color;
    color: $gray-10;
    font-weight: 600;
  }

  .csecondary {
    background: $gray-10;
    color: $gray-0;
  }

  .border {
    border: 1px solid $gray-0;
  }
}
</style>
